import request from '@/config/axios'

// 预警信息 VO
export interface EewVO {
  id: number // 序号
  msgId: string // 消息ID
  msgType: string // 消息类型
  sendTime: string // 发送时间
  msgSource: string // 来源
  checkCode: string // 校验码
  version: string // 版本号
  eewId: string // 事件标识
  serialNumber: string // 序列号
  producer: string // 生产者
  receiver: string // 接收者
  warnningLevel: string // 震中预警等级
  oriTime: string // 发震时间
  locName: string // 震中参考地名
  epiLon: string // 震中经度
  epiLat: string // 震中纬度
  focDepth: string // 深度
  magnitude: string // 震级
  epiIntensity: string // 震中烈度
  originalTopic: string // 源主题
  originalMsg: string // 源信息
  forwardTopic: string // 转发主题
  forwardMsg: string // 转发信息
  forwardStatus: boolean // 转发状态
  forwardResult: string // 转发结果
  forwardTime: Date // 转发时间
  sourceId: number // 信息来源服务id
  brokerId: number // 转发服务id
}

// 预警信息 API
export const EewApi = {
  // 查询预警信息分页
  getEewPage: async (params: any) => {
    return await request.get({ url: `/forward/eew/page`, params })
  },

  // 查询预警信息详情
  getEew: async (id: number) => {
    return await request.get({ url: `/forward/eew/get?id=` + id })
  },

  // 新增预警信息
  createEew: async (data: EewVO) => {
    return await request.post({ url: `/forward/eew/create`, data })
  },

  // 修改预警信息
  updateEew: async (data: EewVO) => {
    return await request.put({ url: `/forward/eew/update`, data })
  },

  // 删除预警信息
  deleteEew: async (id: number) => {
    return await request.delete({ url: `/forward/eew/delete?id=` + id })
  },

  // 导出预警信息 Excel
  exportEew: async (params) => {
    return await request.download({ url: `/forward/eew/export-excel`, params })
  },
}